package main

import (
	"fmt"
	"os"
)

func main() {
	// create
	f, err := os.OpenFile("demo.txt", os.O_RDWR|os.O_CREATE, 0777)
	if err != nil {
		panic(err)
	}
	defer f.Close()
	fmt.Println(f.Name())
	// write
	f.WriteString("hello")
	// read
	buffer := make([]byte, 5)
	f.Seek(0, 0)
	i, _ := f.Read(buffer)
	fmt.Println(i)
	fmt.Println(string(buffer))
	// utils
	os.WriteFile(f.Name(), []byte("world"), os.ModeAppend)
	data, _ := os.ReadFile(f.Name())
	fmt.Println(string(data))
}
